#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;
//template<class t1, class t2>
//double add(t1 a, t2 b)
//{
//	return a + b;
//}
//template<typename T>
//T* BuyListNode(T a)
//{
//
//	return new T(a);
//}
//template<typename T1>
//T1* Buyarray(T1 a,int n)
//{
//	return new T1[10]{a};
//}
//template<typename T1>
//T1* init(T1* a,int n)
//{
//	int i = 0;
//	while (n)
//	{
//		cin>>a[i];
//		i++;
//		n--;
//	}
//	return a;
//}
//int main()
//{
//	cout<<add(3.3, 4.4)<<endl;
//	int a = 3;
//	int*b=BuyListNode(3);
//	cout<<*b<<endl;
//	double a1 = 1.1;
//	int* aa=new int [10]{ 100,1,2,3 };
//	init(aa,10);
//	//double*b1=Buyarray(a1,10);
//	int n = 10;
//	while (n)
//	{
//		cout<<aa[n-1] <<" ";
//		n--;
//	}
//	delete b;
//	delete aa;
//}
int main()
{
	string s1("abcdefffff");
	string::reverse_iterator a=s1.rbegin();
	int n = 0;
	while (a+n!=s1.rend())
	{
		cout<<a[n]<<" ";
		n++;
	}
}